package com.tencent.iov.cowin.befsale.clue.dao.http.mdquery.response;

import com.software.common.model.dao.DealerBaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * @Describe: 成员信息表_实体层
 * @author: wangjingen
 * @created: 2021-07-12 10:46:12
 * @version: 1.0
 */
@Data
@ApiModel(description = "成员信息表_实体模型")
public class EmployeeResponse extends DealerBaseEntity {

    /**
     * 主键
     */
    @ApiModelProperty(value = "主键", example = "stringValue")
    private Long id;
    /**
     * 企业微信userid
     */
    @ApiModelProperty(value = "企业微信userid", example = "stringValue")
    private String userid;
    /**
     * 经销商id
     **/
    private String dealerId;
    /**
     * 企业微信CorpID
     */
    @ApiModelProperty(value = "企业微信CorpID", example = "stringValue")
    private String corpAccount;
    /**
     * crm表销售顾问id
     */
    @ApiModelProperty(value = "crm表销售顾问id", example = "stringValue")
    private String crmEmpId;
    /**
     * 名称
     */
    @ApiModelProperty(value = "名称", example = "stringValue")
    private String name;
    /**
     * 别名
     */
    @ApiModelProperty(value = "别名", example = "stringValue")
    private String alias;
    /**
     * 手机号
     */
    @ApiModelProperty(value = "手机号", example = "stringValue")
    private String mobile;
    /**
     * 座机号
     */
    @ApiModelProperty(value = "座机号", example = "stringValue")
    private String telephone;
    /**
     * 成员对外属性
     */
    @ApiModelProperty(value = "成员对外属性", example = "stringValue")
    private String externalProfile;
    /**
     * 成员对外职务
     */
    @ApiModelProperty(value = "成员对外职务", example = "stringValue")
    private String externalPosition;
    /**
     * 地址
     */
    @ApiModelProperty(value = "地址", example = "stringValue")
    private String address;
    /**
     * 主部门
     */
    @ApiModelProperty(value = "主部门", example = "1")
    private Integer mainDepartment;
    /**
     * 员工个人二维码，扫描可添加为外部联系人(注意返回的是一个url，可在浏览器上打开该url以展示二维码)；第三方仅通讯录应用可获取
     */
    @ApiModelProperty(value = "员工个人二维码，扫描可添加为外部联系人(注意返回的是一个url，可在浏览器上打开该url以展示二维码)；第三方仅通讯录应用可获取", example = "stringValue")
    private String qrCode;
    /**
     * 性别。0表示未定义，1表示男性，2表示女性
     */
    @ApiModelProperty(value = "性别。0表示未定义，1表示男性，2表示女性", example = "1")
    private Integer gender;
    /**
     * 邮箱
     */
    @ApiModelProperty(value = "邮箱", example = "stringValue")
    private String email;
    /**
     * 职务信息
     */
    @ApiModelProperty(value = "职务信息", example = "stringValue")
    private String position;
    /**
     * 排序
     */
    @ApiModelProperty(value = "排序", example = "1")
    private Integer order;
    /**
     * 头像
     */
    @ApiModelProperty(value = "头像", example = "stringValue")
    private String avatar;
    /**
     * 头像缩略图
     */
    @ApiModelProperty(value = "头像缩略图", example = "stringValue")
    private String thumbAvatar;
    /**
     * 全局唯一。对于同一个服务商，不同应用获取到企业内同一个成员的open_userid是相同的，最多64个字节。仅第三方应用可获取
     */
    @ApiModelProperty(value = "全局唯一。对于同一个服务商，不同应用获取到企业内同一个成员的open_userid是相同的，最多64个字节。仅第三方应用可获取", example = "stringValue")
    private String openUserid;
    /**
     * 部门id
     */
    @ApiModelProperty(value = "部门id", example = "stringValue")
    private Long orgId;
    /**
     * 上级id集合，规则（_leaderid1_leaderid2_）
     */
    @ApiModelProperty(value = "上级id集合，规则（_leaderid1_leaderid2_）", example = "stringValue")
    private String leaderIds;
    /**
     * 上级id
     */
    @ApiModelProperty(value = "上级id", example = "1")
    private Integer leaderId;
    /**
     * 小程序头像
     */
    @ApiModelProperty(value = "小程序头像", example = "stringValue")
    private String miniAvatar;
    /**
     * 成员离职时间
     */
    @ApiModelProperty(value = "成员离职时间", example = "2020-03-28T13:46:56.711Z")
    private Date dimissionTime;
    /**
     * 账户状态：0启用，1：禁用
     */
    @ApiModelProperty(value = "账户状态：0启用，1：禁用", example = "1")
    private Integer accountStatus;
    /**
     * 成员类型 1:经销商2：营销分公司3：品牌  6:服务站
     */
    @ApiModelProperty(value = "成员类型 1:经销商2：营销分公司3：品牌  6:服务站", example = "1")
    private Integer type;
    /**
     * 部门负责人：0：不是；1：是
     */
    @ApiModelProperty(value = "部门负责人：0：不是；1：是", example = "1")
    private Integer isLeaderInDept;
    /**
     * 是否存在离职缓冲期：0 无，1 有
     */
    @ApiModelProperty(value = "是否存在离职缓冲期：0 无，1 有", example = "1")
    private Integer resignBuffer;
    /**
     * 离职缓冲到期时间
     */
    @ApiModelProperty(value = "离职缓冲到期时间", example = "2020-03-28T13:46:56.711Z")
    private Date regignBufferTime;
    /**
     * 激活状态: 1=已激活，2=已禁用，4=未激活，5=退出企业。
     * 已激活代表已激活企业微信或已关注微工作台（原企业号）。未激活代表既未激活企业微信又未关注微工作台（原企业号）。
     */
    @ApiModelProperty(value = "激活状态: 1=已激活，2=已禁用，4=未激活，5=退出企业。 已激活代表已激活企业微信或已关注微工作台（原企业号）。未激活代表既未激活企业微信又未关注微工作台（原企业号）。", example = "1")
    private Integer status;
    /**
     * 删除标志（0：代表存在、-1：代表删除）
     */
    @ApiModelProperty(value = "删除标志（0：代表存在、-1：代表删除）", example = "1")
    private Integer deleted;
    /**
     * 租户ID
     */
    @ApiModelProperty(value = "租户ID", example = "stringValue")
    private String tenantId;
    /**
     * t_corp表主键id
     */
    @ApiModelProperty(value = "t_corp表主键id", example = "stringValue")
    private String corpId;
    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人", example = "stringValue")
    private String createdBy;
    /**
     * 创建人名称
     */
    @ApiModelProperty(value = "创建人名称", example = "stringValue")
    private String createdName;
    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间", example = "2020-03-28T13:46:56.711Z")
    private Date createdTime;
    /**
     * 修改人
     */
    @ApiModelProperty(value = "修改人", example = "stringValue")
    private String updatedBy;
    /**
     * 修改人名称
     */
    @ApiModelProperty(value = "修改人名称", example = "stringValue")
    private String updatedName;
    /**
     * 修改时间
     */
    @ApiModelProperty(value = "修改时间", example = "2020-03-28T13:46:56.711Z")
    private Date updatedTime;

    /**
     * 额外属性职位类型 1:主要岗位
     */
    private Integer postType;

    /**
     * 附加条件不参与数据库字段映射
     */
    private List<Long> ids;

    /**
     * 附加条件不参与数据库字段映射
     */
    private List<Long> orgIds;

    /**
     * 附加条件不参与数据库字段映射
     */
    private Long postId;

    /**
     * 附加条件不参与数据库字段映射
     */
    private Integer level;

    @ApiModelProperty(value = "组织id", example = "stringValue")
    private Long[] departments;

    @ApiModelProperty(value = "新的userid")
    private String newUserId;

    @ApiModelProperty(value = "启用/禁用成员。1表示启用成员,0表示禁用成员", example = "1")
    private Integer enable;


    /**
     * 分公司
     *//*
    private CompanyResponse company;

    *//**
     * 区域
     *//*
    private SectorResponse sector;*/

    /**
     * 经销商
     */

    private DealerResponse dealer;


   /* *//**
     * 机构
     *//*
    private Organization organization;


    @ApiModelProperty(value = "本部")
    private Organization topOrg;

    @ApiModelProperty(value = "成员角色合集")
    private List<RoleResponse> roleResponses;*/

    @ApiModelProperty(value = "组织机构名称")
    private String orgName;
/*

    @ApiModelProperty(value = "品牌名称")
    private List<VehicleBrand> vehicleBrands;
*/

    @ApiModelProperty(value = "是否管理员角色")
    private Boolean managerRole;

    @ApiModelProperty("是否递归获取子部门成员 1:是 0:否")
    private Integer fetchChild;

    @ApiModelProperty(value = "分公司id")
    private String companyId;

    @ApiModelProperty(value = "区域id")
    private String sectorId;



}


